<?php

/*
 * ==BeLean==
 * This file is part of the BeLean project!
 * 
 * BBS Brinkstrasse Osnabrück
 * @author	Marco Kreienbrink <marco.kreienbrink@googlemail.com>
 *  
 */

class basic{
	protected $oConfig;
	protected $log ="../logs/error_log.log.php";
	
	/**
	 * Konstruktor; Kontrolliert ob ein gültiges Config Objekt übergeben wurde 
	 * @param object $oConfig Muss ein gültiges Config Objekt sein!
	 */
	function __construct(&$oConfig){
		if(!is_object($oConfig)){
		$this->track("Given Variable was not a valid Config Object!");
	  }else{
		$this->oConfig = $oConfig;
	  }
	}	   	
	
	/**
	 * Funktion um Sistem- / Fehlernachrichten in eine Log Datei zu speichern...
	 *
	 * @param   string  Zu speichernde Nachricht
	*/
	function track($message)
	{
	    if(!file_exists($this->log)){
	        fopen($this->log,'w');
	            $old = umask(0);
	                    chmod($this->log, 0777);
	            umask($old);
	    }
	    if(is_writable($this->log)){
	        if (!$handle = fopen($this->log, "a")) {
	            // Fehlermeldung ?....                    
	            exit;
	        }else{
	            fwrite($handle, date("D M j G:i:s")." IP:".$_SERVER['REMOTE_ADDR']." ".$message."\n");
	        }
	    }
	}
	
}
